-- 该Lua脚本满足了释放锁操作的原子性和一致性
-- 获取锁的key
local key = KEYS[1]
-- 获取当前线程标识(UUID + 线程id)
local threadId = ARGV[1]

-- 获取锁中的线程标识 get key
local id = redis.call('get',key)
-- 比较线程标识与锁中的标识是否一致
if(id == threadId) then
    -- 一致，释放锁，并返回1
    return redis.call('del',key)
end
-- 不一致，返回0
return 0
